ডেটাবেসের সাথে যোগাযোগ (Connection) এবং কোয়েরি এক্সিকিউশন (Query Execution) প্রোগ্রামিংয়ে গুরুত্বপূর্ণ অংশ, যেখানে ডেটাবেস থেকে ডেটা পড়া, লেখার, আপডেট করার এবং ডিলিট করার কাজ করা হয়। প্যাসক্যাল ভাষায় ডেটাবেস কানেকশন ও কোয়েরি এক্সিকিউশনের জন্য সাধারণত SQL ব্যবহার করা হয়, তবে প্যাসক্যাল নিজে ডেটাবেস কানেকশনের জন্য কোনও ডেটাবেস লাইব্রেরি সরাসরি প্রোভাইড করে না। তবে, প্যাসক্যালের সাথে কাজ করার জন্য SQL database connection করতে আমরা তৃতীয় পক্ষের লাইব্রেরি যেমন ZeosLib বা SQLdb ব্যবহার করতে পারি।
এখানে, আমি প্যাসক্যালের মাধ্যমে ডেটাবেস কানেকশন এবং কোয়েরি এক্সিকিউশন এর একটি সাধারণ উদাহরণ দেব।
প্রয়োজনীয় উপাদান
- ZeosLib বা SQLdb প্যাকেজ: প্যাসক্যাল প্রোগ্রামিংয়ের সাথে ডেটাবেস কানেকশন তৈরির জন্য সাধারণত এই লাইব্রেরি ব্যবহৃত হয়।
- SQL Query: ডেটাবেসে ডেটা রিট্রিভ (SELECT), ইনসার্ট (INSERT), আপডেট (UPDATE), এবং ডিলিট (DELETE) করার জন্য SQL কোয়েরি ব্যবহার করতে হয়।
SQLdb লাইব্রেরি ব্যবহার করে প্যাসক্যাল ডেটাবেস কানেকশন এবং কোয়েরি এক্সিকিউশন
SQLdb লাইব্রেরিটি প্যাসক্যালের একটি গুরুত্বপূর্ণ লাইব্রেরি, যা ডেটাবেস কানেকশনের জন্য ব্যবহৃত হয় এবং এটি বিভিন্ন ডেটাবেস যেমন MySQL, PostgreSQL, SQLite ইত্যাদির সাথে কাজ করতে সক্ষম।
MySQL ডেটাবেসে কানেকশন এবং কোয়েরি এক্সিকিউশন উদাহরণ:
ধাপ ১: SQLdb লাইব্রেরি ইন্সটল করা
আপনি যদি SQLdb লাইব্রেরি ইন্সটল না করে থাকেন, তবে প্যাসক্যালের জন্য নির্দিষ্ট প্যাকেজ ম্যানেজার ব্যবহার করে এটি ইন্সটল করতে হবে।
ধাপ ২: ডেটাবেস কানেকশন এবং কোয়েরি এক্সিকিউশন
program DatabaseConnectionExample;
uses
SysUtils, SQLDB, SQLite3Conn; { SQLite3Conn, SQLDB ব্যবহার করা হবে }
var
Conn: TSQLConnector; { ডেটাবেস কানেকশনের জন্য }
Query: TSQLQuery; { কোয়েরি এক্সিকিউশনের জন্য }
ResultSet: String;
begin
try
{ ডেটাবেস কানেকশন তৈরি করা }
Conn := TSQLConnector.Create(nil);
Conn.ConnectorType := 'SQLite3'; { SQLite3 কানেকশন প্রকার }
Conn.DatabaseName := 'test.db'; { ডেটাবেসের নাম }
Conn.Open; { কানেকশন ওপেন করা }
{ SQL কোয়েরি এক্সিকিউট করা }
Query := TSQLQuery.Create(nil);
Query.SQL.Text := 'SELECT * FROM users'; { SQL কোয়েরি }
Query.DataBase := Conn; { ডেটাবেসের সাথে কোয়েরি সংযুক্ত করা }
Query.Open; { কোয়েরি এক্সিকিউট করা }
{ ডেটা রিটার্ন করে আউটপুট দেখানো }
while not Query.EOF do
begin
ResultSet := Query.FieldByName('name').AsString; { রিটার্ন করা ডেটা }
writeln('User Name: ', ResultSet);
Query.Next; { পরবর্তী রেকর্ডে যাওয়া }
end;
except
on E: Exception do
writeln('Error: ', E.Message);
end;
end.ব্যাখ্যা:
- SQLConnector: এটি ডেটাবেসের সাথে কানেক্ট হওয়ার জন্য ব্যবহৃত হয়। এখানে
SQLite3কানেকশনের জন্য এটি সেট করা হয়েছে। - TSQLQuery: এটি SQL কোয়েরি এক্সিকিউট করতে ব্যবহৃত হয়।
SQL.Textদিয়ে SQL কোয়েরি নির্দিষ্ট করা হয়, এবং তারপরOpenকল করে কোয়েরি এক্সিকিউট করা হয়। - FieldByName: এই মেথডটি একটি নির্দিষ্ট কলামের মান রিটার্ন করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, এখানে
nameকলাম থেকে ডেটা রিটার্ন করা হচ্ছে। - EOF: এটি চেক করে যে কোয়েরির শেষে পৌঁছানো হয়েছে কিনা। যদি না পৌঁছায়, তবে পরবর্তী রেকর্ডে যেতে
Nextমেথড ব্যবহার করা হয়।
MySQL ব্যবহার করে প্যাসক্যাল ডেটাবেস কানেকশন এবং কোয়েরি এক্সিকিউশন
এখানে আমরা MySQL ডেটাবেস ব্যবহার করব এবং কোয়েরি এক্সিকিউশন দেখব।
MySQL কানেকশনের জন্য ZeosLib লাইব্রেরি ব্যবহার:
program MySQLDatabaseConnection;
uses
SysUtils, ZConnection, ZDataset;
var
Conn: TZConnection; { MySQL কানেকশন }
Query: TZQuery; { MySQL কোয়েরি }
ResultSet: String;
begin
try
{ MySQL ডেটাবেসে কানেকশন }
Conn := TZConnection.Create(nil);
Conn.HostName := 'localhost'; { MySQL সার্ভারের হোস্টনেম }
Conn.Database := 'testdb'; { ডেটাবেসের নাম }
Conn.User := 'root'; { ইউজারনেম }
Conn.Password := ''; { পাসওয়ার্ড }
Conn.Connect; { কানেকশন ওপেন করা }
{ SQL কোয়েরি এক্সিকিউট করা }
Query := TZQuery.Create(nil);
Query.SQL.Text := 'SELECT * FROM users';
Query.Connection := Conn; { কানেকশন সেট করা }
Query.Open; { কোয়েরি এক্সিকিউট করা }
{ ডেটা রিটার্ন করে আউটপুট দেখানো }
while not Query.EOF do
begin
ResultSet := Query.FieldByName('name').AsString;
writeln('User Name: ', ResultSet);
Query.Next; { পরবর্তী রেকর্ডে যাওয়া }
end;
except
on E: Exception do
writeln('Error: ', E.Message);
end;
end.এখানে:
- TZConnection: এটি ZeosLib লাইব্রেরির মাধ্যমে MySQL ডেটাবেস কানেকশন তৈরি করে।
- TZQuery: এটি কোয়েরি এক্সিকিউশন পরিচালনা করে এবং ডেটাবেস থেকে রেকর্ড নেয়।
সারাংশ
ডেটাবেস কানেকশন এবং কোয়েরি এক্সিকিউশনের জন্য প্যাসক্যাল সাধারণত তৃতীয় পক্ষের লাইব্রেরি ব্যবহার করে, যেমন ZeosLib বা SQLdb। আপনি যদি প্যাসক্যালের মাধ্যমে ডেটাবেসের সাথে যোগাযোগ করতে চান, তাহলে আপনাকে সেই লাইব্রেরি ডাউনলোড এবং ইনস্টল করতে হবে। এরপর আপনি SQL কোয়েরি ব্যবহার করে ডেটাবেসে ডেটা রিট্রিভ, ইনসার্ট, আপডেট এবং ডিলিট করতে পারেন।
Read more